1. Field of the Invention
The present invention relates to a color conversion apparatus and a color conversion method, and more particularly to a color conversion apparatus and a color conversion method for precisely correcting differences of reproduced colors caused by characteristic differences among different devices.
2. Description of the Related Art
In conventional color printers, color printing presses, or pre-processing apparatuses thereof (e.g., personal computers) which significantly exhibit nonlinear color reproduction characteristics with respect to color material characteristics or color mixture, it is difficult to perform sufficient correction by using a simple linear transformation method. Therefore, color correction is performed by, for example, conducting linearization for each channel and performing interpolation with use of a multidimensional lookup table (hereinafter referred to as “LUT”).
Typically, the input channels of the multidimensional LUT may be, for example, three channels comprising red (R), green (G), and blue (B), three channels comprising chromaticity coordinates of X, Y, and Z defined by CIE (Commission Internationale d'Eclairage), or three channels comprising lightness (L*), chromaticity (a*), and chromaticity (b*). Comparable output channels of the multidimensional LUT may be, for example, three channels of R, G, and B, four channels of cyan (C), magenta (M), yellow (Y), and black (K), or vector data where RGB or CMYK are combined.
For example, in a case where color correction is conducted by using a multidimensional LUT such as a three-dimensional LUT having output values corresponding to (D+1)3 lattice points wherein the range of input is equally divided into D parts in correspondence with each output channel, an output value is calculated by extracting a cubic lattice block (eight vertices) surrounding an input value(s) and performing interpolation on the values of the extracted eight vertices based on the relative coordinate values in the cubic lattice block (barycenter coordinate).
Although the simplest interpolation method is a method of performing eight point interpolation (trilinear interpolation) according to relative coordinate values in a cubic lattice block (for example, see Japanese Laid-Open Patent Application No. 7-099587, hereinafter referred to as “Patent Document 1”), this method has a problem of interpolation error causing ripples at gradations along the achromatic axis (grey axis), as taught in paragraph [0002] of Patent Document 1.
As taught in Patent Document 1, various methods of further dividing the cubic lattice block for preventing the problem of ripples are studied. According to the studies, it is known that the problem can be effectively prevented by providing a dividing boundary along a diagonal line of the cubic lattice block oriented in the grey axis direction.
For example, there is a method where a cubic lattice block is divided into three quadrangular pyramids around a single diagonal line of the cubic lattice block (for example, see Japanese Laid-Open Patent Application No. 58-016180, hereinafter referred to as “Patent Document 2”), a method where a cubic lattice block is divided into six triangular pyramids around a single diagonal line of the cubic lattice block by further dividing the three quadrangular pyramids of the aforementioned method (for example, see Japanese Laid-Open Patent Application Nos. 56-014237, 02-226867, and 03-229573, hereinafter referred to as “Patent Documents 3, 4, and 5”, respectively), and a method where a cubic lattice block is divided into six quadrangular pyramids by a line connecting the body center and each vertex of the cubic lattice block (for example, see Japanese Laid-Open Patent Application No. 09-261499, hereinafter referred to as “Patent Document 6”).
Although it is not specifically described in the above-described Patent Documents 1-6, in addition to ripples caused in the gradation of the grey axis direction, ripples caused in the gradation in the directions of primary color hues (C, M, Y, R, G, B) are also a problem.
Color printers used in the business field tend to have a mode for using C, M, Y as primary colors in order to provide the user with pure primary colors of C, M, Y for printing documents. However, the generation of ripples may result in color blending of color hues intended to be printed as primary colors. Therefore, in order to provide such a printing mode, it is desired to provide dividing lines oriented in the directions of frequently used primary color hues in order to prioritize linearity.
However, although dividing a cube along a single diagonal line of the cube or one of the squares of the cube may resolve ripples caused in the direction of the diagonal line (dividing line), there is a side-effect of causing anisotropy where ripples are generated in a direction perpendicularly intersecting the dividing line.
Thus, it is desired to provide a method that provides dividing lines along the directions of the grey axis and the axes of the primary color hues for prioritizing colors such as the primary color hues including frequently used C, M, Y or primary color components of monitors R, G, B, but at the same time, prevents the aforementioned problem of anisotropy.
Among the dividing methods disclosed in the Patent Documents 1-4 and 6, the only method which satisfies such a desire is the method described in Patent Document 3 where a cube is divided into 24 tetrahedrons (triangular pyramids) having the body-center of the cube as their center. However, with the method described in Patent Document 3 where the interpolation value corresponding to the body-center of the cube is the average value of its surrounding eight vertices, its interpolation characteristic becomes similar to that of the undesired trilinear interpolation. Therefore, this method is unable to sufficiently prevent ripples along a desired diagonal line.
Furthermore, since this method divides a cube into 24 blocks, in order to determine which input signal value belongs to which block, determination has to be conducted at least five times (five bits). From the aspect of hardware implementation, the increase in the number of times of determination results in enlargement of hardware logic circuits. From the aspect of software implementation, the increase in the number of times of determination results in increase of processing time. In addition, it is also necessary to used a shared process logic as much as possible in order to reduce cost.
Furthermore, color correction using a multidimensional LUT is conducted not only where there are three input channels (e.g., RGB) but also where there are four input channels (CMYK). Therefore, the method for preventing ripples is desired to be applied not only to three channels but expanded to four or more input channels.